<?php

/*
 * Clase que encapsula  los metodos para registrar usuario, cambiar contraseña de un usuario,
 * iniciar sesion y verificar si existe una sesion de un usuario.
*/
require_once 'class/Conexion.php';

class Usuario {


	//Metodo que verifica si un usuario existe en la Base de Datos
    public function existe_usuario($usu) {
	
        $conn=Conexion::db_connect();

        $result=$conn->query("CALL uspExisteUsuario('$usu')");

        if (!$result)
            return false;

        if ($result->num_rows>0)
            return true;
        else
            return false;
    }
	
	//Metodo que nos permite registrar un nuevo usuario en la Base de Datos.
    public function insert_usuario($usu, $pass, $email) {

        $conn=Conexion::db_connect();

        $result=$conn->query("CALL uspInsertaUsuario('$usu','$pass','$email')");

        if (!$result)
            return false;//No se pudo Ejecutar
        else
            return true;//Se ejecuto OK.
    }

	//Metodo que nos permite iniciar sesion a un usuario, para poder entrar a la zona de miembros del site.
    public function login($usu, $pass) {

        $conn=Conexion::db_connect();

        $result=$conn->query("CALL uspIniciarSesion('$usu','$pass')");

        if (!$result)
            return false;//No se Pudo Ejecutar la Consulta

        if ($result->num_rows>0 )
            return true;//Inicio de Sesion OK.
        else
            return false;//Usuario o Contraseña incorrecta.
    }
	
	
	//Metodo que permite cambiar la contraseña de un usuario.
	public function cambiar_pass($usu, $old_pass, $new_pass){
	
		 if ($this->login($usu, $old_pass))
		 {
		 	$conn=Conexion::db_connect();
				
		 	$result=$conn->query("CALL uspCambiarPass('$usu','$new_pass')");
			
			if (!$result)
				return false;//No Se Pudo Cambiar la Contraseña.
			else
				return true; //Contraseña Cambiada OK.
		 }
		 else	
			return false;	
	}	
	
	//Metodo Estatico que verifica si un Usuario se encuentra logueado, si no fuese el caso
	//redirecciona ala pagina de login para hacerlo.	
	public static function check_valid_user()
	{
		
		//Si No existe la Variable de Sesion valid_user.
		if (!isset($_SESSION['valid_user']))
		{	
			//Redireccionamos al Usuario a la Pagina Principal.
			header('Location: index.php');
		}
	}	
}
?>
